/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is Forte for Java, Community Edition. The Initial * Developer of the Original Code is Sun Microsystems, Inc. Portions * Copyright 1997-2000 Sun Microsystems, Inc. All Rights Reserved. */ package org.openide.util.enum; import java.util.Enumeration; import java.util.NoSuchElementException; /** Abstract class that takes an enumeration and alter their elements * to new objects. * To get this class fully work one must override <CODE>alter</CODE> method. * Objects in the input and resulting enumeration must not be <CODE>null</CODE>. * * @author Jaroslav Tulach * @version 0.10 Apr 10, 1998 */ public abstract class AlterEnumeration extends Object implements Enumeration { /** enumeration to filter */ private Enumeration en; /** * @param en enumeration to filter */ public AlterEnumeration (Enumeration en) { this.en = en; } /** Alters objects. Overwrite this to alter the object in the * enumeration by another. * @param o the object to decide on * @return new object to be placed into the output enumeration */ protected abstract Object alter (Object o); /** @return true if there is more elements in the enumeration */ public boolean hasMoreElements () { return en.hasMoreElements (); } /** @return next object in the enumeration * @exception NoSuchElementException can be thrown if there is no next object * in the enumeration */ public Object nextElement () { return alter (en.nextElement ()); } } /* * Log * 4 Gandalf 1.3 10/22/99 Ian Formanek NO SEMANTIC CHANGE - Sun * Microsystems Copyright in File Comment * 3 Gandalf 1.2 6/8/99 Ian Formanek ---- Package Change To * org.openide ---- * 2 Gandalf 1.1 1/5/99 Ian Formanek * 1 Gandalf 1.0 1/5/99 Ian Formanek * $ */